Skip to content

Feat: Tournament Maps#3483

Merged
evanpelle merged 8 commits intomainfrom
tourney-maps
Mar 21, 2026
Merged

Feat: Tournament Maps#3483
evanpelle merged 8 commits intomainfrom
tourney-maps

Conversation

@bijx
Copy link
Contributor

@bijx bijx commented Mar 21, 2026

Description:

Introduces 4 new private match maps for the OFM tournament in May. Includes 2, 3, 4, and 8 player maps. Playtested, and include as many default nations as the map expects players, named after compass points. Give it a try at https://tourney-maps.openfront.dev/

image

The base images were created from scratch based on prototype designs, and they were converted from vector versions I made. I haven't decided on what the names should be for the maps themselves, so for now they're just Tourney Map 1, Tourney Map 2, etc. Ideas welcome.

Please complete the following:

  • I have added screenshots for all UI updates
  • I process any text displayed to the user through translateText() and I've added it to the en.json file
  • I have added relevant tests to the test directory
  • I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced

Please put your Discord username so you can be contacted if a bug or regression is found:

bijx

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0a35e30c-aaaf-4b62-ac5a-b7123cd6ce96

📥 Commits

Reviewing files that changed from the base of the PR and between 71204fd and 6116cd0.

📒 Files selected for processing (2)
  • resources/lang/en.json
  • src/core/game/Game.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/core/game/Game.ts

Walkthrough

Four new tournament maps (Tourney1–Tourney4) are added with asset info JSONs, runtime manifests, registry entries in the map generator, localization keys, and enum/category registrations in the game type system.

Changes

Cohort / File(s) Summary
Map Asset Definitions
map-generator/assets/maps/tourney{1,2,3,4}/info.json
Added JSON metadata files for each map defining name and nations with names and world coordinates. (Tourney1: 2 nations; Tourney2: 3; Tourney3: 4; Tourney4: 8.)
Map Manifests
resources/maps/tourney{1,2,3,4}/manifest.json
Added manifest files declaring map dimensions (base, map16x, map4x), land tile counts, name, and nations matching asset definitions.
Map Registry
map-generator/main.go
Appended tourney1..tourney4 to the exported maps slice so they are valid selections for map generation. Review concurrency/selection logic if map set assumptions exist.
Localization
resources/lang/en.json
Added map keys tourney1, tourney2, tourney3, tourney4 with display labels and added map_categories.tournament.
Game Type System
src/core/game/Game.ts
Extended export enum GameMapType with Tourney1Tourney4 (string labels) and added a tournament entry to mapCategories. Verify UI strings match localization keys.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🏟️ New arenas rise on the plain,
Coordinates set, manifests made plain,
Four tourneys called, ready to run,
Two, three, four, and eight for fun,
Maps aligned — let the games begin! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Feat: Tournament Maps' clearly and concisely describes the main change—adding four new tournament maps for gameplay.
Description check ✅ Passed The description provides relevant context about the new tournament maps, their purpose, player counts, testing status, and includes screenshots and localization details.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can disable poems in the walkthrough.

Disable the reviews.poem setting to disable the poems in the walkthrough.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
startup.sh (1)

88-92: Redundant if/else block after timeout removal.

Both branches now run the same command. This if/else serves no purpose and can be simplified:

-if [ "$DOMAIN" = openfront.dev ] && [ "$SUBDOMAIN" != main ]; then
-    exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
-else
-    exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
-fi
+exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@startup.sh` around lines 88 - 92, The if/else block that checks DOMAIN and
SUBDOMAIN is redundant because both branches run the same supervisord exec
command; remove the entire if/else and replace it with a single line that
executes /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf (keep
the existing exec invocation and environment variables DOMAIN and SUBDOMAIN
unchanged elsewhere), ensuring no behavioral change other than eliminating the
pointless conditional.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@startup.sh`:
- Around line 88-92: The change in startup.sh touching the DOMAIN/SUBDOMAIN
conditional (the if block using DOMAIN and SUBDOMAIN) appears to be an unrelated
infrastructure tweak (removal of the 18-hour timeout for preview deployments);
revert this modification in startup.sh and remove any changes that alter preview
deployment timeouts or supervisord logic from this "Tournament Maps" PR, then
create a separate PR containing only the infrastructure change; ensure the
tournament maps PR only includes map-related files and that the separate PR
references startup.sh and the DOMAIN/SUBDOMAIN conditional when restoring or
modifying preview timeout behavior.

---

Nitpick comments:
In `@startup.sh`:
- Around line 88-92: The if/else block that checks DOMAIN and SUBDOMAIN is
redundant because both branches run the same supervisord exec command; remove
the entire if/else and replace it with a single line that executes
/usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf (keep the
existing exec invocation and environment variables DOMAIN and SUBDOMAIN
unchanged elsewhere), ensuring no behavioral change other than eliminating the
pointless conditional.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4046c6e9-8db6-411c-9764-79fe37271243

📥 Commits

Reviewing files that changed from the base of the PR and between bf09b9c and 0d8526a.

⛔ Files ignored due to path filters (16)
  • map-generator/assets/maps/tourney1/image.png is excluded by !**/*.png
  • map-generator/assets/maps/tourney2/image.png is excluded by !**/*.png
  • map-generator/assets/maps/tourney3/image.png is excluded by !**/*.png
  • map-generator/assets/maps/tourney4/image.png is excluded by !**/*.png
  • resources/maps/tourney1/map.bin is excluded by !**/*.bin
  • resources/maps/tourney1/map16x.bin is excluded by !**/*.bin
  • resources/maps/tourney1/map4x.bin is excluded by !**/*.bin
  • resources/maps/tourney2/map.bin is excluded by !**/*.bin
  • resources/maps/tourney2/map16x.bin is excluded by !**/*.bin
  • resources/maps/tourney2/map4x.bin is excluded by !**/*.bin
  • resources/maps/tourney3/map.bin is excluded by !**/*.bin
  • resources/maps/tourney3/map16x.bin is excluded by !**/*.bin
  • resources/maps/tourney3/map4x.bin is excluded by !**/*.bin
  • resources/maps/tourney4/map.bin is excluded by !**/*.bin
  • resources/maps/tourney4/map16x.bin is excluded by !**/*.bin
  • resources/maps/tourney4/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (16)
  • map-generator/assets/maps/tourney1/info.json
  • map-generator/assets/maps/tourney2/info.json
  • map-generator/assets/maps/tourney3/info.json
  • map-generator/assets/maps/tourney4/info.json
  • map-generator/main.go
  • resources/lang/en.json
  • resources/maps/tourney1/manifest.json
  • resources/maps/tourney1/thumbnail.webp
  • resources/maps/tourney2/manifest.json
  • resources/maps/tourney2/thumbnail.webp
  • resources/maps/tourney3/manifest.json
  • resources/maps/tourney3/thumbnail.webp
  • resources/maps/tourney4/manifest.json
  • resources/maps/tourney4/thumbnail.webp
  • src/core/game/Game.ts
  • startup.sh

@github-project-automation github-project-automation bot moved this from Triage to Development in OpenFront Release Management Mar 21, 2026
coderabbitai[bot]
coderabbitai bot previously approved these changes Mar 21, 2026
@bijx bijx added this to the v31 milestone Mar 21, 2026
@bijx bijx added the Maps A new map, or adjustments to an existing map itself, its json, etc, label Mar 21, 2026
@bijx
Copy link
Contributor Author

bijx commented Mar 21, 2026

Names updated, and added to new category
image

Copy link
Collaborator

@evanpelle evanpelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@github-project-automation github-project-automation bot moved this from Development to Final Review in OpenFront Release Management Mar 21, 2026
@evanpelle evanpelle added this pull request to the merge queue Mar 21, 2026
Merged via the queue into main with commit 837458c Mar 21, 2026
11 checks passed
@evanpelle evanpelle deleted the tourney-maps branch March 21, 2026 20:56
@github-project-automation github-project-automation bot moved this from Final Review to Complete in OpenFront Release Management Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maps A new map, or adjustments to an existing map itself, its json, etc,

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

2 participants